package main

import (
	"encoding/json"
	"fmt"
)

type Teacher struct {
	Name    string `json:"-"`                 // 这个编码不参与，json编码
	Subject string `json:"Subject_name"`      // json编码时，这个字段会起一个别名
	Age     int    `json:"age,string"`        // 同时改名和改类型， 两个字段（名字，类型）, 不能有空格
	Address string `json:"address,omitempty"` // 如果是空的则忽略
	gender  string // 小写字母开头的，进行json编码会忽略
}

func main() {
	t1 := Teacher{
		Name:    "duck",
		Subject: "goland",
		Age:     22,
		gender:  "M",
		// Address: "beijing",
	}

	fmt.Println("t1:", t1)

	encodeInfo, _ := json.Marshal(t1)
	fmt.Println("encodeInfo:", string(encodeInfo)) // encodeInfo: {"Subject_name":"goland","age":"22"}
}
